error message is required and non-null